//
//  LLTools.m
//  BestLearning
//
//  Created by apple on 2017/2/23.
//  Copyright © 2017年 apple. All rights reserved.
//

#import "LLTools.h"

@implementation LLTools

+ (NSString *)mgrTimeYY_MM_TT:(NSString *)time {
    
    // 把时间 YY-MM-TT YY:SS:EE 转成YY-MM-TT
    NSDateFormatter  *dateformatter=[[NSDateFormatter alloc] init];
    dateformatter.dateFormat = @"yyyy-MM-dd HH:mm:ss";
    NSDate *date = [dateformatter dateFromString:time];
    dateformatter.dateFormat = @"yyyy-MM-dd";
    NSString *locationString = [dateformatter stringFromDate:date];
    return locationString;
}


+(NSString *)mobileSuitScanf:(NSString*)number{
    
    //首先验证是不是手机号码
    
    if ([LLTools valiMobile:number].length == 0) {//如果是手机号码的话
        
        NSString *numberString = [number stringByReplacingCharactersInRange:NSMakeRange(3, 4) withString:@"****"];
        
        return numberString;
        
    }
    
    return number;
    
}

+(CGSize)getSizeWithText:(NSString *)text MaxSize:(CGSize)maxSize TextFont:(CGFloat)font{
    
    //计算label的宽度
    
    
    NSDictionary *attrs = @{NSFontAttributeName:[UIFont systemFontOfSize:font]};
    
    CGSize textSize = [text boundingRectWithSize:maxSize options:
                        NSStringDrawingTruncatesLastVisibleLine |
                        NSStringDrawingUsesLineFragmentOrigin |
                        NSStringDrawingUsesFontLeading
                                            attributes:attrs context:nil].size;
    
    return textSize;

}

/**
 判断是否为正确的手机号
 */
+ (NSString *)valiMobile:(NSString *)mobile{
    if (mobile.length < 11)
    {
        return NSLocalizedString(@"请输入正确的手机号", nil) ;
    }else{
        
        NSString *CM_NUM = @"^((13[4-9])|(147)|(15[0-2,7-9])|(178)|(18[2-4,7-8]))\\d{8}|(1705)\\d{7}$";
        
        NSString *CU_NUM = @"^((13[0-2])|(145)|(15[5-6])|(176)|(18[5,6]))\\d{8}|(1709)\\d{7}$";
        
        NSString *CT_NUM = @"^((133)|(153)|(177)|(18[0,1,9]))\\d{8}$";
        NSPredicate *pred1 = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CM_NUM];
        BOOL isMatch1 = [pred1 evaluateWithObject:mobile];
        NSPredicate *pred2 = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CU_NUM];
        BOOL isMatch2 = [pred2 evaluateWithObject:mobile];
        NSPredicate *pred3 = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", CT_NUM];
        BOOL isMatch3 = [pred3 evaluateWithObject:mobile];
        
        if (isMatch1 || isMatch2 || isMatch3) {
            return nil;
        }else{
            return NSLocalizedString(@"请输入正确的手机号", nil) ;
        }
    }
    return nil;
}


//颜色转换图片
+ (UIImage *)createImageWithColor:(UIColor *)color
{
    CGRect rect=CGRectMake(0.0f, 0.0f, 1.0f, 1.0f);
    UIGraphicsBeginImageContext(rect.size);
    CGContextRef context = UIGraphicsGetCurrentContext();
    CGContextSetFillColorWithColor(context, [color CGColor]);
    CGContextFillRect(context, rect);
    UIImage *theImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    return theImage;
}



/**********************************************************************
 *函数名称    : isEmailAddressRight
 *函数描述    : 判断是否为邮箱
 *输入参数    : N/A
 *输出参数    : N/A
 *返回值     : N/A
 *备注        : N/A
 ***********************************************************************/
+(BOOL)isEmailAddressRight:(NSString *)str
{
    //邮箱的正则表达式。判断输入是否为邮箱类型
    /*1. 必须包含一个并且只有一个符号“@”
     2. 第一个字符不得是“@”或者“.”
     3. 不允许出现“@.”或者”.@“ “［ ］” “｛ ｝& （）＝ ^ % # ? <> , ; ”等特殊符号
     4. 结尾不得是字符“@”或者“.”
     5. 不允许“@”前的字符中出现“＋”
     */
    NSString *regex = @"^\\w+((\\-\\w+)|(\\.\\w+))*@[A-Za-z0-9]+((\\.|\\-)[A-Za-z0-9]+)*\\.[A-Za-z0-9]+$";
    NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex];
    return [predicate evaluateWithObject:str];
}


@end
